/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.sapra.main;

import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.sapra.core.DBManager;
import org.sapra.dao.Empresa;
import org.sapra.dao.Usuario;
import org.sapra.logon.dLogin;

/**
 *
 * @author ppratsc
 */
class dPrincipal {
    
    static List<Empresa> getEmpresas(Usuario user) {
        List<Empresa> resp = null;
        String usrtype = user.getTipoUsuario();

        Empresa emp = dLogin.getEmpresa();

        String sql = "SELECT ";
        sql += "e.empresaId,e.razon_empresa ";
        sql += ",co.fk_grupoCorporativoId";
        sql += " FROM ";
        sql += "empresa e,";
        sql += "corporativo co,";
        sql += "grupocorporativo g";
        sql += " WHERE ";
        sql += "e.fk_corporativoId = co.corporativoId";
        sql += " AND co.fk_grupoCorporativoId = g.grupoCorporativoId";

        if(usrtype.equals("C")) sql += " AND co.corporativoid = " + emp.getFk_corporativoId();
        else if(usrtype.equals("G")) sql += " AND g.grupocorporativoid = " + emp.getFk_grupoCorporativoId();
        else if(usrtype.equals("A")){
            // El Usuario es Administrador
            // Se trae todas las empresas
        }else {
            // Tipo de Usuario Empresa o Desconocido
            // Solo de damos acceso a su empresa
            sql += " AND e.empresaid = " + emp.getEmpresaId();
        }

        sql += " ORDER BY e.razon_empresa"; // Ordena Alfabeticamente

        try {
            // Busca las Empresas del Usuario
            resp = DBManager.getQuery(Empresa.class,sql);
        } catch (Exception ex) {
            Logger.getLogger(dPrincipal.class.getName()).log(Level.SEVERE, null, ex);
            return resp;
        }

        return resp;
    }

}
